\section{Ap\'endice}

En las consultas del recuperatorio hab\'ias sugerido una mejora para el predicado llegoEnDPasos para hacer la implementaci\'on m\'as corta.\\
\begin{center}
\textbf{Versi\'on alternativa:}
\end{center}
\lstset{language=Prolog, basicstyle=\footnotesize, numbers=left, breaklines=true, frame=single, tabsize=2}

\begin{lstlisting}
% llegoEnDPasos(+L1, +L2, +D) devuelve la distancia de edicion
llegoEnDPasos([], [], 0).
llegoEnDPasos([X|Xs], [Y|Ys], D) :-
    X = Y -> llegoEnDPasos(Xs, Ys, D);
    X \= Y -> (
        % Nos quedamos con las posibles distancias de edicion empezando con
        % distintas operaciones basicas
        findall(A, aplico(_, Xs, Ys, A), Ds),
        % La distancia de edicion es la minima entre las distintas alternativas que cumplen
        min_list(Ds, D)
    ).
\end{lstlisting}

Esta versi\'on alternativa no cubre todos los casos porque asume que las 2 listas tienen al menos un elemento. En la versi\'on de la re-entrega usamos más predicados para manejar los casos:\\
 - 2 listas vac\'ias\\
 - 2 listas con un prefijo no vac\'io en com\'un\\
 - 2 listas sin un prefijo en com\'un donde no son vac\'ias ambas
